/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Dominio;

import disco.HandlerDisk;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author halt
 */
public class GestorCliente implements Serializable{
    List<Cliente> lc;
    HandlerDisk hd;

    public GestorCliente() {
        this.lc = new ArrayList<Cliente>();
        this.hd = new HandlerDisk();
    }

    public boolean addCliente(String nombre, String apellido1, String apellido2, String direccion, String fecha, String cp, String poblacion, String mail, String movil, String telefono, int fototipo, int intensidad, int color) {
        Cliente c = new Cliente(nombre,  apellido1,  apellido2,  direccion,  fecha,  cp,  poblacion,  mail,  movil,  telefono,  fototipo, intensidad,color);
        return lc.add(c);
    }

    public boolean existeCliente(Cliente c) {
        return lc.contains(c);
    }

    public List<Cliente> getCliente(String token) {
        List<Cliente>blc = new ArrayList<Cliente>();
        for(int i = 0; i < lc.size(); ++i) {
            if (this.lc.get(i).getNombre().equals(token))blc.add(lc.get(i));
            if (this.lc.get(i).getApellido1().equals(token))blc.add(lc.get(i));
            if (this.lc.get(i).getApellido2().equals(token))blc.add(lc.get(i));
            if (this.lc.get(i).getDireccion().equals(token))blc.add(lc.get(i));
            if (this.lc.get(i).getMail().equals(token))blc.add(lc.get(i));
            if (this.lc.get(i).getMovil().equals(token))blc.add(lc.get(i));
            if (this.lc.get(i).getTelefono().equals(token))blc.add(lc.get(i));
        }
        return blc;
    }

    public Cliente getClienteTelefono(String tel) {
        for(int i = 0; i < lc.size(); ++i) {
             if (this.lc.get(i).getTelefono().equals(tel)) return lc.get(i);
        }
        return null;
    }

    public void saveGestorCliente(){
        hd.guardarGestorCliente(this);
    }

    public GestorCliente loadGestorCliente() throws FileNotFoundException, IOException, ClassNotFoundException {
        System.out.println("Voy a cargar todas los clientes");
        return hd.cargarGestorCliente();
    }
    
}
